// pages/search/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isCollapse:true,//true-点击了展开  false-点击了收起
    isDelStaus:false,
    histCopyList:[],//非展开数据
    hisList:[],//所有数据
    keywords:""
  },
  close(e){
    console.log(e,e.target.dataset.index)
    const {index} = e.target.dataset
    //1.删除hisList对应的成员 更新hisCopyList
      const {hisList} = this.data
      hisList.splice(index,1)
      this.setData({hisList,histCopyList:hisList.slice(0,4)})
    //2.删除后防止页面刷新后数据重新回显，更新本地储存
    try{
      wx.setStorageSync('history',hisList)
    } catch (e) {
      console.log(e);
    }
  },
  removeAll(){
    this.setData({hisList:[],histCopyList:[]})
    try{
      wx.removeStorageSync('history')
    } catch(e){
      //Do something when catch error
    }
  },
  //1.用双向数据绑定（早期双向绑定不行 单项数据流 value-bindinput-setData | model:value - 兼容性问题） 
  //2.from表单触发
  confirm(){
    console.log(this.data.keywords)
    let keywords = this.data.keywords.trim()
    //是否为空的判断
    if(!keywords){
      //输入搜索的内容为空时，提示
      wx.showToast({
        title:'不能为空',
        icon:'none',
        duration:2000
      })
      return
    }
    this.setCache(keywords)
    wx.navigateTo({
      url: `/pages/result/index?keywords=${keywords}`,
    })
  },
//存储数据
  setCache(val){
    //1.将给予的val放入到this.data.hisList中
    const {hisList} = this.data
    //判断若原来的数组中已经存在删除掉
    const index = hisList.findIndex(item=>item === val)
    if(index>=0){
      hisList.splice(index,1)
    }
    hisList.unshift(val)
    //添加历史记录（限制最多储存100条）
    if(hisList.length>100){
      //删除末尾成员
      hisList.pop()
    }
    //2.将当前数据存储本地
    try{
      wx.setStorageSync('history',hisList)
    } catch (e) {
      console.log(e);
    }
    //3.更新视图
    this.setData({
      hisList,
      histCopyList:hisList.slice(0,4)
    })
  },

  changeVal(e){
    this.setData({
      keywords:e.detail.value
    })
  },
  //过滤展示
  filterShow(){
    //获取本地数据
    const localData = wx.getStorageSync("history") || []
    this.setData({
      histCopyList:localData.slice(0,4),
    hisList:localData
    })
  },
//点击展开
toggle(){
  console.log(this.data.isCollapse)
  const isCollapse = !this.data.isCollapse
  this.setData({
    isCollapse
  })
},
//切换删除状态:
//1.页面组件属性 data-名称="值"
//2.时间函数中 获取第一个参数 比如e.target.dataset名称
toggleDel(e){
  const {flag:isCollapse} = e.target.dataset
  const isDelStaus = !this.data.isDelStaus
  this.setData({
    isDelStaus,
    isCollapse
  })
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.filterShow()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})